Generally mathematical division in a computer involves division of a dividend by a divisor to produce a quotient. Such division is slow because it requires iteratively generating a series of partial remainders and quotient digits. Therefore, the speed of the division operation is dependent on the amount of time it takes to complete one iteration and the total number of iterations required. The total number of iterations is dependent on the number of quotient digits required to provide an accurate quotient. For example, in floating point division twenty-five quotient digits are required for single precision and fifty-four quotient digits are required for double-precision, therefore the time required to generate each of the required quotient digits is critical to the speed of the division.
One well known method of performing division is restorative division. A computer procedure or routine for performing binary restorative division is shown in Table 1. EQU If(R.sub.i &gt;=Divisor) then R.sub.i+1 =2*(R.sub.i -Divisor) Q.sub.i =1
Else EQU R.sub.i+1 =2*(R.sub.i) Q.sub.i =0
where R.sub.i =partial remainder; Q.sub.i =quotient digit PA1 where R.sub.i =partial remainder; Q.sub.i =quotient digit